#ifndef CFORCEAREA_H
#define CFORCEAREA_H

/*
CForceArea class interacts in real time deformation of
CVolumetricQuatroid class objects vertices.
*/

#include <irrlicht.h>
#include "IGameObject.h"
#include "CommonDataTypes.h"
#include "CMCGlu.h"

/*
using namespace irr;
using namespace MarCore;
*/

namespace MarCore
{

class CForceArea : public MarCore::IGameObject
{

    equation2df* falloff; //a two (2) dimensional equation describing the falloff of force
    irr::core::vector3df origin; //where it starts
    irr::core::vector3df end; //where it ends
    irr::f32 energy; //energy of the force area
    irr::f32 max_falloff_dist; //max falloff distance, none = 0

    //btBU_Simplex1to4* col_shape; //bullet collision shape

public:

    //! Default Constructor
    CForceArea();

    //! Constructor
    CForceArea( equation2df* falloff_, const irr::core::vector3df& origin_, const irr::core::vector3df& end_, irr::f32 energy , irr::f32 max_falloff_dist_ );

    //! Deconstructor
    ~CForceArea();

    //! Dispatches to any objects it collided with.
    void dispatchCollisions();

}; //end class CForceArea

}; //end namespace MarCore

#endif
